package dominio;

import java.util.ArrayList;
import java.util.List;

import dto.ItemRemitoProveedorTO;
import dto.ReferenciaRemitoProveedorTO;

public class ReferenciaRemitoProveedor {
	private Integer id;
	private OrdenCompra ordenCompra;
	private List<ItemRemitoProveedor> items;

	public ReferenciaRemitoProveedor() {
		items = new ArrayList<ItemRemitoProveedor>();
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public OrdenCompra getOrdenCompra() {
		return ordenCompra;
	}

	public void setOrdenCompra(OrdenCompra orden) {
		this.ordenCompra = orden;
	}

	public List<ItemRemitoProveedor> getItems() {
		return items;
	}

	public void agregarItem(ItemRemitoProveedor item) {
		items.add(item);
	}

	public ReferenciaRemitoProveedorTO getDTO() {
		ReferenciaRemitoProveedorTO dto = new ReferenciaRemitoProveedorTO();
		dto.setId(id);
		if (ordenCompra != null)
			dto.setOrdenCompra(ordenCompra.getDTO());
		for (ItemRemitoProveedor i : items)
			dto.agregarItem(i.getDTO());
		return dto;
	}

	public static ReferenciaRemitoProveedor fromDTO(ReferenciaRemitoProveedorTO dto) {
		if (dto == null)
			return null;
		ReferenciaRemitoProveedor r = new ReferenciaRemitoProveedor();
		r.setId(dto.getId());
		r.setOrdenCompra(OrdenCompra.fromDTO(dto.getOrdenCompra()));
		for (ItemRemitoProveedorTO i : dto.getItems())
			r.agregarItem(ItemRemitoProveedor.fromDTO(i));
		return r;
	}
}